package com.bw.shop_2302.utils

import android.content.Context
import com.alibaba.android.arouter.facade.Postcard
import com.alibaba.android.arouter.facade.annotation.Interceptor
import com.alibaba.android.arouter.facade.callback.InterceptorCallback
import com.alibaba.android.arouter.facade.template.IInterceptor
import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.SPUtils
import com.bw.base.net.Cons

@Interceptor(priority = 1)
class LoginInterceptor:IInterceptor {

    /*
    登录拦截器 --ARouter 判断是否需要登录 以及是否已经登录
    不需要每次在点击控件时判断是否登录
    默认运行的界面不参与这个方法
     */

    override fun init(context: Context?) {


        //初始化 一般不执行

    }


    override fun process(postcard: Postcard?, callback: InterceptorCallback?) {


        //所有页面跳转 (ARouter均会走这个方法,如果里面不写内容，直接卡主)

        //是否需要登录  主页相关的所有页面均需要登录 !(注册界面，登录界面，及相关界面)

        //是否已经登录

        //不需要登录界面 以及已经登录的界面可以直接跳转到相应界面 其他情况需要跳转到登录界面


        if("/app/LoginCodeActivity".equals(postcard?.path)||SPUtils.getInstance().getString(Cons.SP_TOKEN).isNotEmpty()){

            //跳转到对应界面
            callback?.onContinue(postcard)
        }else{
            //需要跳转登录的页面
            ARouter.getInstance().build("/app/LoginCodeActivity").navigation()

        }



    }

}